Cognitive Complexity and Graph Convolutional Approach Over Control Flow Graph for Software Defect Prediction

نویسندگان

چکیده

The software engineering community is working to develop reliable metrics improve quality. It estimated that understanding the source code accounts for 60% of maintenance effort. Cognitive informatics important in quantifying degree difficulty or efforts made by developers understand code. Several empirical studies were conducted 2003 assign cognitive weights each possible basic control structure software, and these are used several researchers evaluate complexity systems. In this paper, an effort has been categorize Control Flow Graphs (CFGs) nodes according their node features. our case, we extracted seven unique features from program, feature was assigned integer value evaluated through Complexity Measures (CCMs). We then incorporated CCMs’ results as a CFGs generated same based on connectivity graph. order obtain representation graph, vector matrix created graph passed Graph Convolutional Network (GCN). prepared data sets using GCN output built Deep Neural Defect Prediction (DNN-DP) (CNN-DP) models predict defects. Python programming language used, along with Keras TensorFlow. Three hundred twenty programs written talented UG PG students, all experiments carried out during laboratory classes. Together three skilled lab programmers, they compiled ran individual program detected defect/no-defect before categorizing them into different classes, namely Simple, Medium, Complex programs. Accuracy, Receiver Operating Characteristics (ROC), Area Under Curve (AUC), F-measure, Precision hyper-parameter tuning procedures approaches. experimental show proposed outperformed state-of-the-art methods such Nave Bayes (NB), Decision Tree (DT), Support Vector Machine (SVM), Random Forest (RF) evaluation criteria.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Convolutional Neural Networks over Control Flow Graphs for Software Defect Prediction

Existing defects in software components is unavoidable and leads to not only a waste of time and money but also many serious consequences. To build predictive models, previous studies focus on manually extracting features or using tree representations of programs, and exploiting different machine learning algorithms. However, the performance of the models is not high since the existing features...

متن کامل

Protein Interface Prediction using Graph Convolutional Networks

We consider the prediction of interfaces between proteins, a challenging problem with important applications in drug discovery and design, and examine the performance of existing and newly proposed spatial graph convolution operators for this task. By performing convolution over a local neighborhood of a node of interest, we are able to stack multiple layers of convolution and learn effective l...

متن کامل

Disease Protein Prediction with Graph Convolutional Networks

Human phenotypes – i.e. our characteristics, conditions and diseases – are not merely a product of our genetic constitution, but rather arise out of an intricate system of interactions between the proteins and other molecules in our cells. 1 This fact has inspired a huge effort to document and understand the network of those protein-protein interactions which we’ll refer to collectively as the ...

متن کامل

AJcFgraph - AspectJ Control Flow Graph Builder for Aspect-Oriented Software

The ever-growing usage of aspect-oriented development methodology in the field of software engineering requires tool support for both research environments and industry. So far, tool support for many activities in aspect-oriented software development has been proposed, to automate and facilitate their development. For instance, the AJaTS provides a transformation system to support aspect-orient...

متن کامل

Software synthesis for dynamic data flow graph

Data flow graph is a useful computational model to describe the functionality of a digital system. To execute a data flow graph on a target system, it should be synthesized to the code to be compiled on the target system. Current research activities on software synthesis are mainly focused on Synchronous Data Flow (SDF) graph, which can not represent the control structure of the application. On...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: IEEE Access

سال: 2022

ISSN: ['2169-3536']

DOI: https://doi.org/10.1109/access.2022.3213844